package com.jiuyin.dianjing.util;

import android.graphics.Rect;
import android.os.Build;
import android.view.View;
import android.widget.PopupWindow;

public class PopupWindowUtil {
    /**
     * 通过判断是否有导航栏 适配7.0以上系统显示弹窗问题
     * 主要是解决阴影没有遮住下面的TabHost的问题
     *
     * @param window
     * @param parent
     * @param offsetY
     */
    public static void adapterApiV24ForShowAsDropDown(PopupWindow window, View parent, int offsetY) {
        if (null == window) {
            return;
        }
        if (null == parent) {
            return;
        }
        if (Build.VERSION.SDK_INT >= 24) {
            Rect visibleFrame = new Rect();
            parent.getGlobalVisibleRect(visibleFrame);
            int height;
            /**
             * 判断是否有导航栏
             */
            if (BarUtils.isShowNavBar(window.getContentView().getContext())) {
                height = parent.getResources().getDisplayMetrics().heightPixels - visibleFrame.bottom + Math.abs(offsetY);
            } else {
                /**
                 * 获取物理真实高度 才能在android 7.0以上遮住下面的TabHost
                 */
                height = WindowDispaly.getRealHeight() - visibleFrame.bottom + Math.abs(offsetY);
            }
            window.setHeight(height);
        }
        window.showAsDropDown(parent, 0, offsetY);
    }
}
